↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PrologToPiTRSProof
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
SAMEFRINGE_IN_GG(cons(U, V), cons(X, Y)) → U2_GG(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
SAMEFRINGE_IN_GG(cons(U, V), cons(X, Y)) → GOPHER_IN_GG(cons(U, V), cons(U1, V1))
GOPHER_IN_GG(cons(cons(U, V), W), X) → U1_GG(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
GOPHER_IN_GG(cons(cons(U, V), W), X) → GOPHER_IN_GG(cons(U, cons(V, W)), X)
U2_GG(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_GG(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U2_GG(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → GOPHER_IN_GG(cons(X, Y), cons(X1, Y1))
U3_GG(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_GG(U, V, X, Y, samefringe_in_aa(V1, Y1))
U3_GG(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → U2_AA(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → GOPHER_IN_GG(cons(U, V), cons(U1, V1))
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_AA(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → GOPHER_IN_GG(cons(X, Y), cons(X1, Y1))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_AA(U, V, X, Y, samefringe_in_aa(V1, Y1))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PrologToPiTRSProof
SAMEFRINGE_IN_GG(cons(U, V), cons(X, Y)) → U2_GG(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
SAMEFRINGE_IN_GG(cons(U, V), cons(X, Y)) → GOPHER_IN_GG(cons(U, V), cons(U1, V1))
GOPHER_IN_GG(cons(cons(U, V), W), X) → U1_GG(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
GOPHER_IN_GG(cons(cons(U, V), W), X) → GOPHER_IN_GG(cons(U, cons(V, W)), X)
U2_GG(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_GG(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U2_GG(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → GOPHER_IN_GG(cons(X, Y), cons(X1, Y1))
U3_GG(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_GG(U, V, X, Y, samefringe_in_aa(V1, Y1))
U3_GG(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → U2_AA(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → GOPHER_IN_GG(cons(U, V), cons(U1, V1))
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_AA(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → GOPHER_IN_GG(cons(X, Y), cons(X1, Y1))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_AA(U, V, X, Y, samefringe_in_aa(V1, Y1))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PrologToPiTRSProof
GOPHER_IN_GG(cons(cons(U, V), W), X) → GOPHER_IN_GG(cons(U, cons(V, W)), X)
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PrologToPiTRSProof
GOPHER_IN_GG(cons(cons(U, V), W), X) → GOPHER_IN_GG(cons(U, cons(V, W)), X)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ ATransformationProof
↳ PiDP
↳ PrologToPiTRSProof
GOPHER_IN_GG(cons, X) → GOPHER_IN_GG(cons, X)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ NonTerminationProof
↳ PiDP
↳ PrologToPiTRSProof
cons(X) → cons(X)
cons(X) → cons(X)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PrologToPiTRSProof
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_AA(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → U2_AA(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PrologToPiTRSProof
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_AA(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → U2_AA(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ PrologToPiTRSProof
SAMEFRINGE_IN_AA → U2_AA(gopher_in_gg(cons, cons))
U2_AA(gopher_out_gg) → U3_AA(gopher_in_gg(cons, cons))
U3_AA(gopher_out_gg) → SAMEFRINGE_IN_AA
gopher_in_gg(cons, cons) → gopher_out_gg
gopher_in_gg(cons, X) → U1_gg(gopher_in_gg(cons, X))
U1_gg(gopher_out_gg) → gopher_out_gg
gopher_in_gg(x0, x1)
U1_gg(x0)
U2_AA(gopher_out_gg) → U3_AA(gopher_out_gg)
U2_AA(gopher_out_gg) → U3_AA(U1_gg(gopher_in_gg(cons, cons)))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ PrologToPiTRSProof
U2_AA(gopher_out_gg) → U3_AA(U1_gg(gopher_in_gg(cons, cons)))
SAMEFRINGE_IN_AA → U2_AA(gopher_in_gg(cons, cons))
U3_AA(gopher_out_gg) → SAMEFRINGE_IN_AA
U2_AA(gopher_out_gg) → U3_AA(gopher_out_gg)
gopher_in_gg(cons, cons) → gopher_out_gg
gopher_in_gg(cons, X) → U1_gg(gopher_in_gg(cons, X))
U1_gg(gopher_out_gg) → gopher_out_gg
gopher_in_gg(x0, x1)
U1_gg(x0)
SAMEFRINGE_IN_AA → U2_AA(U1_gg(gopher_in_gg(cons, cons)))
SAMEFRINGE_IN_AA → U2_AA(gopher_out_gg)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ NonTerminationProof
↳ PrologToPiTRSProof
SAMEFRINGE_IN_AA → U2_AA(gopher_out_gg)
U2_AA(gopher_out_gg) → U3_AA(U1_gg(gopher_in_gg(cons, cons)))
U3_AA(gopher_out_gg) → SAMEFRINGE_IN_AA
SAMEFRINGE_IN_AA → U2_AA(U1_gg(gopher_in_gg(cons, cons)))
U2_AA(gopher_out_gg) → U3_AA(gopher_out_gg)
gopher_in_gg(cons, cons) → gopher_out_gg
gopher_in_gg(cons, X) → U1_gg(gopher_in_gg(cons, X))
U1_gg(gopher_out_gg) → gopher_out_gg
gopher_in_gg(x0, x1)
U1_gg(x0)
SAMEFRINGE_IN_AA → U2_AA(gopher_out_gg)
U2_AA(gopher_out_gg) → U3_AA(U1_gg(gopher_in_gg(cons, cons)))
U3_AA(gopher_out_gg) → SAMEFRINGE_IN_AA
SAMEFRINGE_IN_AA → U2_AA(U1_gg(gopher_in_gg(cons, cons)))
U2_AA(gopher_out_gg) → U3_AA(gopher_out_gg)
gopher_in_gg(cons, cons) → gopher_out_gg
gopher_in_gg(cons, X) → U1_gg(gopher_in_gg(cons, X))
U1_gg(gopher_out_gg) → gopher_out_gg
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
SAMEFRINGE_IN_GG(cons(U, V), cons(X, Y)) → U2_GG(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
SAMEFRINGE_IN_GG(cons(U, V), cons(X, Y)) → GOPHER_IN_GG(cons(U, V), cons(U1, V1))
GOPHER_IN_GG(cons(cons(U, V), W), X) → U1_GG(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
GOPHER_IN_GG(cons(cons(U, V), W), X) → GOPHER_IN_GG(cons(U, cons(V, W)), X)
U2_GG(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_GG(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U2_GG(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → GOPHER_IN_GG(cons(X, Y), cons(X1, Y1))
U3_GG(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_GG(U, V, X, Y, samefringe_in_aa(V1, Y1))
U3_GG(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → U2_AA(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → GOPHER_IN_GG(cons(U, V), cons(U1, V1))
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_AA(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → GOPHER_IN_GG(cons(X, Y), cons(X1, Y1))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_AA(U, V, X, Y, samefringe_in_aa(V1, Y1))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
SAMEFRINGE_IN_GG(cons(U, V), cons(X, Y)) → U2_GG(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
SAMEFRINGE_IN_GG(cons(U, V), cons(X, Y)) → GOPHER_IN_GG(cons(U, V), cons(U1, V1))
GOPHER_IN_GG(cons(cons(U, V), W), X) → U1_GG(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
GOPHER_IN_GG(cons(cons(U, V), W), X) → GOPHER_IN_GG(cons(U, cons(V, W)), X)
U2_GG(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_GG(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U2_GG(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → GOPHER_IN_GG(cons(X, Y), cons(X1, Y1))
U3_GG(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_GG(U, V, X, Y, samefringe_in_aa(V1, Y1))
U3_GG(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → U2_AA(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → GOPHER_IN_GG(cons(U, V), cons(U1, V1))
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_AA(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → GOPHER_IN_GG(cons(X, Y), cons(X1, Y1))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_AA(U, V, X, Y, samefringe_in_aa(V1, Y1))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
GOPHER_IN_GG(cons(cons(U, V), W), X) → GOPHER_IN_GG(cons(U, cons(V, W)), X)
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
GOPHER_IN_GG(cons(cons(U, V), W), X) → GOPHER_IN_GG(cons(U, cons(V, W)), X)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ ATransformationProof
↳ PiDP
GOPHER_IN_GG(cons, X) → GOPHER_IN_GG(cons, X)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ NonTerminationProof
↳ PiDP
cons(X) → cons(X)
cons(X) → cons(X)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_AA(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → U2_AA(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
samefringe_in_gg(nil, nil) → samefringe_out_gg(nil, nil)
samefringe_in_gg(cons(U, V), cons(X, Y)) → U2_gg(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(nil, nil) → gopher_out_gg(nil, nil)
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
U2_gg(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_gg(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_gg(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_gg(U, V, X, Y, samefringe_in_aa(V1, Y1))
samefringe_in_aa(nil, nil) → samefringe_out_aa(nil, nil)
samefringe_in_aa(cons(U, V), cons(X, Y)) → U2_aa(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
U2_aa(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_aa(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_aa(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → U4_aa(U, V, X, Y, samefringe_in_aa(V1, Y1))
U4_aa(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_aa(cons(U, V), cons(X, Y))
U4_gg(U, V, X, Y, samefringe_out_aa(V1, Y1)) → samefringe_out_gg(cons(U, V), cons(X, Y))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
U2_AA(U, V, X, Y, gopher_out_gg(cons(U, V), cons(U1, V1))) → U3_AA(U, V, X, Y, U1, V1, gopher_in_gg(cons(X, Y), cons(X1, Y1)))
U3_AA(U, V, X, Y, U1, V1, gopher_out_gg(cons(X, Y), cons(X1, Y1))) → SAMEFRINGE_IN_AA(V1, Y1)
SAMEFRINGE_IN_AA(cons(U, V), cons(X, Y)) → U2_AA(U, V, X, Y, gopher_in_gg(cons(U, V), cons(U1, V1)))
gopher_in_gg(cons(nil, Y), cons(nil, Y)) → gopher_out_gg(cons(nil, Y), cons(nil, Y))
gopher_in_gg(cons(cons(U, V), W), X) → U1_gg(U, V, W, X, gopher_in_gg(cons(U, cons(V, W)), X))
U1_gg(U, V, W, X, gopher_out_gg(cons(U, cons(V, W)), X)) → gopher_out_gg(cons(cons(U, V), W), X)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
U3_AA(gopher_out_gg(cons, cons)) → SAMEFRINGE_IN_AA
SAMEFRINGE_IN_AA → U2_AA(gopher_in_gg(cons, cons))
U2_AA(gopher_out_gg(cons, cons)) → U3_AA(gopher_in_gg(cons, cons))
gopher_in_gg(cons, cons) → gopher_out_gg(cons, cons)
gopher_in_gg(cons, X) → U1_gg(X, gopher_in_gg(cons, X))
U1_gg(X, gopher_out_gg(cons, X)) → gopher_out_gg(cons, X)
gopher_in_gg(x0, x1)
U1_gg(x0, x1)
U2_AA(gopher_out_gg(cons, cons)) → U3_AA(U1_gg(cons, gopher_in_gg(cons, cons)))
U2_AA(gopher_out_gg(cons, cons)) → U3_AA(gopher_out_gg(cons, cons))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
U3_AA(gopher_out_gg(cons, cons)) → SAMEFRINGE_IN_AA
SAMEFRINGE_IN_AA → U2_AA(gopher_in_gg(cons, cons))
U2_AA(gopher_out_gg(cons, cons)) → U3_AA(U1_gg(cons, gopher_in_gg(cons, cons)))
U2_AA(gopher_out_gg(cons, cons)) → U3_AA(gopher_out_gg(cons, cons))
gopher_in_gg(cons, cons) → gopher_out_gg(cons, cons)
gopher_in_gg(cons, X) → U1_gg(X, gopher_in_gg(cons, X))
U1_gg(X, gopher_out_gg(cons, X)) → gopher_out_gg(cons, X)
gopher_in_gg(x0, x1)
U1_gg(x0, x1)
SAMEFRINGE_IN_AA → U2_AA(U1_gg(cons, gopher_in_gg(cons, cons)))
SAMEFRINGE_IN_AA → U2_AA(gopher_out_gg(cons, cons))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Narrowing
↳ QDP
↳ NonTerminationProof
U3_AA(gopher_out_gg(cons, cons)) → SAMEFRINGE_IN_AA
SAMEFRINGE_IN_AA → U2_AA(U1_gg(cons, gopher_in_gg(cons, cons)))
U2_AA(gopher_out_gg(cons, cons)) → U3_AA(U1_gg(cons, gopher_in_gg(cons, cons)))
U2_AA(gopher_out_gg(cons, cons)) → U3_AA(gopher_out_gg(cons, cons))
SAMEFRINGE_IN_AA → U2_AA(gopher_out_gg(cons, cons))
gopher_in_gg(cons, cons) → gopher_out_gg(cons, cons)
gopher_in_gg(cons, X) → U1_gg(X, gopher_in_gg(cons, X))
U1_gg(X, gopher_out_gg(cons, X)) → gopher_out_gg(cons, X)
gopher_in_gg(x0, x1)
U1_gg(x0, x1)
U3_AA(gopher_out_gg(cons, cons)) → SAMEFRINGE_IN_AA
SAMEFRINGE_IN_AA → U2_AA(U1_gg(cons, gopher_in_gg(cons, cons)))
U2_AA(gopher_out_gg(cons, cons)) → U3_AA(U1_gg(cons, gopher_in_gg(cons, cons)))
U2_AA(gopher_out_gg(cons, cons)) → U3_AA(gopher_out_gg(cons, cons))
SAMEFRINGE_IN_AA → U2_AA(gopher_out_gg(cons, cons))
gopher_in_gg(cons, cons) → gopher_out_gg(cons, cons)
gopher_in_gg(cons, X) → U1_gg(X, gopher_in_gg(cons, X))
U1_gg(X, gopher_out_gg(cons, X)) → gopher_out_gg(cons, X)